package leo.weixin.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.client.RestTemplate;

import java.net.URLEncoder;
import java.util.*;

/**
 * 茉莉机器人接口的使用
 * 地区天气	上海天气	查询上海的天气预报（市级或县级地区）	普通文本
 * 天气	天气	根据访问IP自动获取天气预报	普通文本
 * @tq您的ip地址    @tq8.8.8.8	查询IP地址为8.8.8.8的天气预报	普通文本
 * @ip您的ip地址    @ip8.8.8.8	查询IP地址为8.8.8.8的位置和经纬度	普通文本
 * ip	ip	查询访问者的IP地址详情	普通文本
 * @qq要查询的QQ号码    @qq123456	查询QQ号码123456的信息	普通文本
 * @lol英雄联盟大区--角色名称    @lol艾欧尼亚--我要超神	查询艾欧尼亚区我要超神的战绩信息	普通文本
 * @sfz身份证号码    @sfz111111111111111111	查询身份证号码公民所在地、生日和性别	普通文本
 * @sjh手机号码    @sjh18888888888	查询手机号码归属地、城市区号和卡的类型	普通文本
 * @cy四字成语    @cy一马当先	【一马当先】的成语接龙	普通文本
 * 笑话	笑话	随机返回一个笑话	json
 * 观音灵签	观音灵签	随机抽取观音灵签	json
 * 月老灵签	月老灵签	随机抽取月老灵签	json
 * 财神爷灵签	财神爷灵签	随机抽取财神爷灵签	json
 */
public class IptkRobot {

    private static String[] data = {"笑话","观音灵签","月老灵签","财神爷灵签"};
    private static String baseUrl = "http://i.itpk.cn/api.php?question=";
    private String api_key = "d28f77e8de0a4758e286218d86c84451" ;
    private String api_secret = "d28f77e8de0a4758e286218d86c84451" ;

    /**
     * 不使用ApiKey：
     *
     * http://i.itpk.cn/api.php?question=123
     *
     * 使用ApiKey和ApiSecret(api_key和api_secret两个参数必须同时携带，注册后可在个人中心查看)：
     *
     * http://i.itpk.cn/api.php?question=123&api_key=你的ApiKey&api_secret=你的ApiSecret
     * @param question
     * @return
     */
    public static String sendTextMessage(String question){
        //Map<String,String> params = new HashMap<>();
        //params.put("question",question);
        boolean isJsonRequest = false ;
        for (String d : data) {
            if (question.equals(d)){
                isJsonRequest = true ;
                break ;
            }
        }
        String result = RestTemplateUtil.get(baseUrl + question);
        result = StringUtil.unicode2String(result);
        if (isJsonRequest){
            JSONObject object = JSON.parseObject(result);
            System.out.println(object.get("title"));
            System.out.println(object.get("content"));
            result =(String) object.get("content");
        }
        return result ;
    }
}
